package com.hushi.config;

import com.hushi.dao.CustomerDao;
import com.hushi.impl.CustomerDaoImpl;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;

/**
 * 零配置注解
 */

@Configurable   //替代applicationContext.xml文件
@ComponentScan(basePackages = {"com.hushi"})  //代替XML配置方式的<context:component-scan/>标签的作用。用于开启SpringIOC的注解扫描。
@PropertySource(value = "classpath:test.properties")    //代替<context:property-placeholader/>配置，加载properties配置文件。
@Import(Jdbccfg.class)  //引入jdbc.class类配置文件
public class Springcfg {
    public Springcfg(){
        System.out.println("Spring环境初始化成功");
    }

//    在这里@Bean的作用，获取getCustomerDao的返回对象，放入IOC容器中，并且起名为customerDao。
    @Bean(name = "customerDao")
    public CustomerDao getCustomerDao(){
        return new CustomerDaoImpl();
    }
}
